package io.github.talelin.latticy.service;

import io.github.talelin.latticy.dto.userware.CreateUserwareDTO;
import io.github.talelin.latticy.dto.userware.UpdateUserwareDTO;
import io.github.talelin.latticy.model.UserwareDO;
import com.baomidou.mybatisplus.extension.service.IService;
import io.github.talelin.latticy.model.WarehouseDO;
import io.github.talelin.latticy.vo.WarehouseVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author generator@wulongbo
 * @since 2022-05-12
 */
public interface UserwareService extends IService<UserwareDO> {

    /**
     * 新建用户和仓库的关联关系
     * @param dto  新建用户和仓库校验器
     * @return true 创建成功
     */
    boolean createUserware(CreateUserwareDTO dto);

    /**
     * 查询指定用户关联的仓库别表
     * @param userId
     * @return 仓库名称列表
     */
    List<WarehouseVO> getWareNameListByUserId(Integer userId);

    /**
     * 查询指定用户关联的仓库Code别表
     * @param userId
     * @return 仓库名称列表
     */
    List<String> getWareCodeListByUserId();

    /**
     * 获取仓库列表
     * @return 仓库名称列表
     */
    List<WarehouseVO> getWareNameList();


    /**
     * 更新用户关联的仓库列表
     * @param dto
     * @return true 修改成功
     */
    boolean updateUserware(UpdateUserwareDTO dto);
}
